I use a perl script to format the error output of my compiler in a way that can be
easily parsed by the error list. This worked fine up to version 1.9 of the error list
(which I still use today).
With the more recent versions (since the german localization, 2.0 ?) I get a very
strange behaviour: I check the error output in the plugin options and get a display
of all included errors and warnings. But in real life, the error list shows just nothing.
I have tried to modify my perl script in several ways (output to std out, output to
error out, output to both) without any change.
Submitted | jomabrueloe - 2013-06-14 - 13:01:48z | Assigned | synh |
---|---|---|---|
Priority | 5 | Category | None |
Status | Open | Group | None |
Resolution | None | Visibility | No |
2013-06-14 - 14:57:49z ezust |
This sounds like it is related to Console plugin? Let me confirm. Are you saying that from Console plugin options - error patterns, you can "test" the Perl regexp and it shows you the errors, as expected, but if you paste those same errors in a text file, and "cat" (or "type" from windows) it from the Console System shell, you do not see the same errors in ErrorList? Because I just tried those exact steps and it works for me. Please give me more details on how to reproduce your issue. Do you have the ErrorList Dockable already visible when you do this? |
---|---|
2013-06-17 - 05:54:49z jomabrueloe |
Hi, thanks for your response. Yes, thats the way I do it, only I don't use a temporary file but direct piping via perl. I'm gonna try that way also and give you the result. Regarding your 2nd question: I use the error list docked an the bottom of jedit. |
2013-06-17 - 07:45:05z jomabrueloe |
Hi, I just tried it: with the new version (and the latest console plugin), using the type command in the console results in a plain display with empty error list. Using the same with my old (working) configuration, the errros and warnings are shown as well in the console (colored text) as in the error list. I though it would be helpful for you to see, which other plugins are used. Therefore I attach two jpegs, one with the working and one with the not working configuration. Jo |
2013-06-17 - 16:19:42z ezust |
Ok, this is the windows platform, and german localization. If you switch back to English locale, does the problem goes away? If so, please let us know. If not, I would suggest trying to see how else the settings differ between the working vs non-working configurations. Many error matchers in Console do you have enabled? Which ones are they? Is generic one of them? Can you make the "generic" error trigger, or is your problem specific to perl errors? I have a file called asdf.txt that looks like this: /etc/apt/sources.list:5: error! This is an arbitrary message. and whenever I cat it, I see errors in my errorlist. Do you? I will also go to windows and see if I can reproduce your issue by switching to german. |
2013-06-17 - 16:31:57z ezust |
I tried typing the Error-Output.txt and it is not detected as a Perl error by the
Perl error regexp, which for me is this: (.+) at ([^<>]+) line (\d+)(\.?|, (.+)) Is that the same regexp you have? If so, I can reproduce your error but it seems to me there is something wrong with the regexp. Is this really the output of the perl command? |
2013-06-17 - 16:37:16z ezust |
I attached alan-perl-errors.txt which works for my perl error regexp. See if typing
that from Console gives you perl errors. |
2013-06-18 - 05:28:41z jomabrueloe |
Hi, thanks for your efforts! I have to apologize, that I wasn't that clear: I use a Tasking C-Compiler for a microcontroller. But because the error output of this one is very hard to handle (2 lines per error ...) I use the perl script to transform it to an conveniant pattern. Than - I have to apologize again for not transmitting this already - I use an own error pattern to parse the errors and warnings. I attach the error pattern as a screen shot. Thanks again Jo |
2013-06-18 - 06:02:06z ezust |
I have no idea/didn't check why your pattern worked before and doesn't now. Are you
sure the regexps are the same? I can reproduce your current issue. It is really strange. I don't know why when testing the pattern, it shows things working but when I cat it, it is not detected. *HOWEVER*, there is a workaround: by simply adding a $ at the end of each of those regexps. The problem goes away. |
2013-06-18 - 06:12:53z ezust |
Sorry, it was not just a addition of the $ at the end. I changed your patterns to
this: ^(E.+) :: (.+) :: (\d+)$ ^(W.+) :: (.+) :: (\d+)$ |
2013-06-18 - 06:27:05z ezust |
And for some reason, I only see errors and no warnings. There might be 2 bugs here,
one related to how errors are parsed and another related to warnings. |
2013-06-18 - 13:00:39z jomabrueloe |
New info: - using the english localisation doesn't change the behavior - the error is dedicated to the parser line; using "W" in the "error" parsing line results in display of warnings but errors - the "extra line" parsing line does not work either |
2013-06-18 - 16:03:13z ezust |
So to summarize, the original test case is this: The error/warning patterns were these: ^(E.+) :: (.+) :: (.+)$ ^(W.+) :: (.+) :: (.+)$ For a "test area", I pasted some lines from 85-103 of Error-Output.txt which is attached. When I "test/commit" the regexes against the pasted text, it works fine. But if I "cat" the Error-Output.txt file from Console, none of these errors are picked up. Personally, I have not worked on this code recently, so I hope one of the other engineers (Dale or Artem) will take a look at this. Also, I am pretty sure this has nothing to do with the ErrorList plugin. |
2013-06-18 - 22:48:07z ezust |
What version of Console is the latest version that works for you? |
2013-06-18 - 23:50:03z ezust |
Nevermind, I see it is Console 4.4.4 (from your working configuration) from your screenshot. |
2013-06-19 - 09:25:09z synh |
Probably it is related to handling of line's breaks '\n', '\r\n'. I'll research this during the weekend. |
2013-06-17 - 07:51:07z jomabrueloe |
jedit_plugins_not_working.jpg |
---|---|
2013-06-17 - 07:52:37z jomabrueloe |
jedit_plugins.jpg |
2013-06-17 - 09:31:31z jomabrueloe |
Error-Output.txt |
2013-06-17 - 16:36:48z ezust |
alan-perl-errors.txt some perl error strings to test your regexp |
2013-06-18 - 05:29:23z jomabrueloe |
error-pattern.jpg |